import 自动测试
from 插件.基础函数.常用函数 import *
from 工程.九州项目.接收激励.公共函数 import *

    
def 主收通道镜频抑制测试初始化():
    # 射频矩阵1.连接()
#    信号源1.连接()
    信号源2.连接()
    频谱仪1.连接()
    产品初始化()

    信号源2.设置调制关()
    频谱仪1.设置频率起点(7E7-5E3)
    频谱仪1.设置频率终点(7E7+5E3)
    频谱仪1.设置分析带宽自动()
    频谱仪1.设置视频带宽(10)
    频谱仪1.设置参考幅度(0)
    频谱仪1.设置关闭噪声()
    频谱仪1.设置频标模式正常()
    频谱仪1.设置开触发()

    zbb产品.被测产品SPI.设置PTT控制指令("PTT无效")

    print("主收通道镜频抑制测试初始化")
    
def 主收通道镜频抑制(通道='主收1',频点=118.0):
    工作方式='AM'
    频率=频点*1000000
    zbb路由.测试主收通道镜频抑制(通道)
    zbb产品.被测产品SPI.设置通道方式频点(通道, 工作方式, 频点)

    信号源2.设置频率(频率)
    信号源2.设置幅度(-120)
    信号源2.设置射频开()
    延时(2)
    输出幅度=0
    for i in range(20):
        信号源2.设置幅度(-120-i)
        延时(0.1)
        频谱仪1.设置单次触发()
        延时(0.4)
        频谱仪1.设置寻峰值()
        仪器主峰值=频谱仪1.读幅度()
        主峰值=按值转换(仪器主峰值,0.1,0)
        频谱仪1.设置寻下一个峰值()
        仪器次峰值=频谱仪1.读幅度()
        次峰值=按值转换(仪器次峰值,0.1,0)
        if 主峰值-次峰值<10:
            输出幅度=(-120-i)
            break;

    信号源2.设置频率(频率+2*895e6)
    输出幅度2=0
    for i in range(-30,输出幅度,-1):
        信号源2.设置幅度(i)
        延时(0.1)
        频谱仪1.设置单次触发()
        延时(0.4)
        频谱仪1.设置寻峰值()
        仪器主峰值=频谱仪1.读幅度()
        主峰值=按值转换(仪器主峰值,0.1,0)
        频谱仪1.设置寻下一个峰值()
        仪器次峰值=频谱仪1.读幅度()
        次峰值=按值转换(仪器次峰值,0.1,0)
        if 主峰值-次峰值<10:
            输出幅度2=i
            break;
    抑制1=输出幅度2-输出幅度

    信号源2.设置频率(频率+2*70e6)
    for i in range(-30,输出幅度,-1):
        信号源2.设置幅度(i)
        延时(0.1)
        频谱仪1.设置单次触发()
        延时(0.4)
        频谱仪1.设置寻峰值()
        仪器主峰值=频谱仪1.读幅度()
        主峰值=按值转换(仪器主峰值,0.1,0)
        频谱仪1.设置寻下一个峰值()
        仪器次峰值=频谱仪1.读幅度()
        次峰值=按值转换(仪器次峰值,0.1,0)
        if 主峰值-次峰值<10:
            输出幅度2=i
            break;
    抑制2=输出幅度2-输出幅度

    信号源2.设置频率(755e6)
    for i in range(-30,输出幅度,-1):
        信号源2.设置幅度(i)
        延时(0.1)
        频谱仪1.设置单次触发()
        延时(0.4)
        频谱仪1.设置寻峰值()
        仪器主峰值=频谱仪1.读幅度()
        主峰值=按值转换(仪器主峰值,0.1,0)
        频谱仪1.设置寻下一个峰值()
        仪器次峰值=频谱仪1.读幅度()
        次峰值=按值转换(仪器次峰值,0.1,0)
        if 主峰值-次峰值<10:
            输出幅度2=i
            break;
    抑制3=输出幅度2-输出幅度

    # if 抑制1>90:
    #     抑制1=90
    # if 抑制2>90:
    #     抑制2=90
    # if 抑制3>90:
    #     抑制3=90
    项目="主收通道镜频抑制('"+通道+"',"+str(频点)+")"
    判断合格保存(项目+"抑制1",抑制1,80)
    判断合格保存(项目+"抑制2",抑制2,80)
    判断合格保存(项目+"抑制3",抑制3,80)

if __name__=='__main__':
    pass
    选择产品(1)
    主收通道镜频抑制测试初始化()
    主收通道镜频抑制('主收1',118)
